home *** CD-ROM | disk | FTP | other *** search
- EXTRN _fg_getmode:far ; Fastgraph's GETMODE routine
- EXTRN _fg_reset:far ; Fastgraph's RESET routine
- EXTRN _fg_setmode:far ; Fastgraph's SETMODE routine
- EXTRN _fg_version:far ; Fastgraph's VERSION routine
-
- stackseg SEGMENT stack
- db 1024 dup (?) ; use a 1K stack
- stackseg ENDS
-
- _DATA SEGMENT word public 'DATA'
- major dw ? ; major version number
- minor dw ? ; minor version number
- old_mode dw ? ; original video mode
- _DATA ENDS
-
- dgroup GROUP _DATA
- ASSUME cs:main_TEXT,ds:dgroup
-
- main_TEXT SEGMENT byte public 'CODE'
-
- start: mov ax,_DATA ; load segment location
- mov ds,ax ; into DS register
-
- call _fg_getmode ; AX = current video mode
- mov old_mode,ax ; save it
-
- mov ax,4 ; use video mode 4
- push ax ; pass argument fg_setmode
- call _fg_setmode ; establish CGA four-color mode
- add sp,2 ; remove fg_setmode argument
-
- push old_mode ; pass argument to fg_setmode
- call _fg_setmode ; restore original video mode
- add sp,2 ; remove fg_setmode argument
-
- call _fg_reset ; restore screen attributes
-
- lea ax,minor ; get address of minor variable
- push ax ; pass argument #2 to fg_version
- lea ax,major ; get address of major variable
- push ax ; pass argument #1 to fg_version
- call _fg_version ; get the Fastgraph version number
- add sp,4 ; remove fg_version arguments
-
- mov ah,76 ; function 76: terminate process
- xor al,al ; errorlevel 0
- int 21h ; exit to DOS
-
- main_TEXT ENDS
- END start